using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media.Animation;
using DW.IntelligenceSource.GUI.MapView;

namespace DW.IntelligenceSource.GUI.Map {
  public interface IMapView {
    MapController.MapMouseWheelEventHandler ControllerMapMouseWheel { get; set; }
    MapController.MapMouseClickEventHandler ControllerMapMouseClick { get; set; }
    MapController.MapMouseMoveEventHandler ControllerMapMouseMove { get; set; }
    MapController.MapMouseUpEventHandler ControllerMapMouseUp { get; set; }
    MouseWheelEventHandler MapMouseWheel { set; }
    MouseEventHandler MapMouseMove { set; }
    MouseButtonEventHandler MapMouseLeftButtonDown { set; }
    MouseButtonEventHandler MapMouseLeftButtonUp { set; }
    RoutedEventHandler ResetButtonClick { get; set; }
    Canvas MapRoot { get; }
    Grid layoutGrid { get; }
    double PanelLeft { get; set; }
    double PanelTop { get; set; }
    double Zoom{get;set;}
    Storyboard ZoomToCountry{get;}
    List<Country> SelectableCountries { get; }
    MapAnimations LastAnimation { get; set; }
    Button ResetButtonPublic{get;}
    event MapView.MapView.MapButtonClickHandler MapResetButtonClick;
    event MapView.MapView.MapEventDelegate MapOnRender;
    event MapView.MapView.MapAnimationDelegate ZoomToCountryCalled;
    void AnimateRight(bool reverse);
  }
}